package db

import (
	"sync"
	"time"

	"engine/db/driver"
	"github.com/redis/go-redis/v9"
)

type TableMeta = driver.TableMeta

type Cli interface {
	BaseCli() redis.UniversalClient
	Locker(key string) sync.Locker
	LockDo(key string, fn func())
	HDel(delDB bool, m TableMeta, ids ...string) error
	HGet(m TableMeta, id string) error
	HSet(m TableMeta) error
	HSetEx(m TableMeta, ex time.Duration) error
}
